###############################################################################
# Makefile for XML sample C++ files
###############################################################################

# include common definitions
include ../Makefile.defs

PROGS=	DOMSample SAXSample XSLSample XVMSample XslXPathSample XvmXPathSample SchSample FullDOM

# make all class files
all: $(PROGS)

DOMSample: DOMSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

SAXSample: SAXSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

XSLSample: XSLSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

XVMSample: XVMSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

XslXPathSample: XslXPathSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

XvmXPathSample: XvmXPathSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

SchSample: SchSampleMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

FullDOM: FullDOMMain.cpp
	$(CCC) -o $@ $(INCLUDE) -I. $? $(LIB)

sure: $(PROGS)
	./DOMSample cleo.xml > DOMSample.out
	@if cmp -s DOMSample.out DOMSample.std; then echo PASS; else echo FAIL; fi

	./SAXSample class.xml > SAXSample.out
	@if cmp -s SAXSample.out SAXSample.std; then echo PASS; else echo FAIL; fi

	./XSLSample iden.xsl class.xml > XSLSample.out
	@if cmp -s XSLSample.out XSLSample.std; then echo PASS; else echo FAIL; fi

	./XVMSample iden.xsl class.xml > XVMSample.out
	@if cmp -s XVMSample.out XVMSample.std; then echo PASS; else echo FAIL; fi

	./XslXPathSample pantry.xml //child::\* > XslXPathSample.out
	@if cmp -s XslXPathSample.out XslXPathSample.std; then echo PASS; else echo FAIL; fi

	./XvmXPathSample pantry.xml //child::\* > XvmXPathSample.out
	@if cmp -s XvmXPathSample.out XvmXPathSample.std; then echo PASS; else echo FAIL; fi

	./SchSample car.xml car.xsd > SchSample.out
	@if cmp -s SchSample.out SchSample.std; then echo PASS; else echo FAIL; fi

	./FullDOM class.xml > FullDOM.out
	@if cmp -s FullDOM.out FullDOM.std; then echo PASS; else echo FAIL; fi

clean:
	rm -f $(PROGS) *.o *.out

# end of Makefile
